package utils

import (
	"bytes"
	"github.com/afocus/captcha"
	"image/color"
	"image/png"
)

var (
	myCap = captcha.New()
)

func GenerateCaptcha(length int, captchaType captcha.StrType) ([]byte, string) {
	_ = myCap.SetFont("./static/font/comic.ttf")
	myCap.SetDisturbance(captcha.HIGH)
	// 设置前景色 可以多个 随机替换文字颜色 默认黑色
	myCap.SetFrontColor(color.RGBA{255, 255, 255, 255})
	// 设置背景色 可以多个 随机替换背景色 默认白色
	myCap.SetBkgColor(color.RGBA{255, 0, 0, 255}, color.RGBA{0, 0, 255, 255}, color.RGBA{0, 153, 0, 255})
	img, answer := myCap.Create(length, captchaType)
	content := make([]byte, 0)
	buf := bytes.NewBuffer(content)
	_ = png.Encode(buf, img)
	return buf.Bytes(), answer
}
